iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0
自我挑戰組

學習Java且應用系列 第 15

Java 繼承與多型(下)

  • 分享至 

  • xImage
  •  
  • 多型的核心在於,Java可以根據物件的具體類型來調用正確的覆蓋方法,這允許用一個接口或一個父類來處理多種類型的物件。多型的核心在於,Java可以根據物件的具體類型來調用正確的覆蓋方法,這允許用一個接口或一個父類來處理多種類型的物件。
  • eg. class Animal {
    public void makeSound() {
    System.out.println("Animal makes a sound");
    }
    }

class Dog extends Animal {
public void makeSound() {
System.out.println("Dog barks");
}
}

class Cat extends Animal {
public void makeSound() {
System.out.println("Cat meows");
}
}

public class Main {
public static void main(String[] args) {
// 使用多型
Animal myAnimal = new Animal(); // Animal 物件
Animal myDog = new Dog(); // Dog 物件,作為 Animal 型別
Animal myCat = new Cat(); // Cat 物件,作為 Animal 型別

myAnimal.makeSound(); // 輸出:Animal makes a sound
myDog.make.Sound(); //輸出:Dog barks
myCat.makeSound(); / 輸出:Cat meows
}
}
我們可以看到Animal是一個父類,而Dog和Cat都是繼承自Animal的子類。Dog和Cat覆蓋了父類的 makeSound()方法,並在不同情況下顯示不同的行為。

  • 多型的特點:
    (1)父類型變數可以指向子類型物件:Animal類型的變數可以指向Dog或Cat物件,這就是所謂的向上轉型。
    (2)方法動態綁定:Java在運行時會根據物件的實際類型來調用正確的覆蓋方法,而不是根據變數的靜態類型。
  • 使用多型的好處:
    (1)靈活性:可以通過父類或接口來處理多種不同的物件,這使得程式更加靈活和可擴展。
    (2)代碼簡化:通過多型,可以用統一的方式處理不同的子類,避免重複編寫相同的代碼。
    (3)動態方法調用:在運行時,根據物件的實際類型動態決定調用哪個方法,這是多型最核心的能力。

上一篇
Java 繼承與多型(上)
下一篇
Java String 類的基本操作(比較、串接、切割)
系列文
學習Java且應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言